home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 10 / BBS In A Box Volume X (AMUG) (January 1994).bin / Files / Util / B / Bench.cpt / Bench / DiskBench.readme / DiskBench.readme
Encoding:
Text File  |  1986-06-28  |  13.0 KB  |  247 lines  |  [TEXT/EDIT]

  1. This packit file contains the following:
  2. DiskBench    - an disk benchmark application modified to eliminate possible
  3.           interleaving "prejudices"
  4. DiskBench.asm     - the MDS assembler source
  5. DiskBench.link    - the MDS linker file
  6. DiskBench.r    - RMaker file to eliminate need for Consulair linker
  7. DiskBench.readme- this file, which contains a letter from the original
  8.           author, Steve Brecher concerning the nature of the
  9.           program.  This message was downloaded from "another"
  10.           network.  (Sorry, Brian...but at least it wasn't CI$)
  11.           This letter was a result of the several interchanges
  12.           and the results presented reflected latest HD driver
  13.           software performance as of 22 Apr 86. In addition, the
  14.           results were based upon version 2.x of the diskbench
  15.           application.
  16. With the newer version included, I suggest that several members of GENIE
  17. perform their own benchmarks on the latest version of HD drivers and
  18. post the results in the appropriate cat/topic.
  19.             Paul Sydney
  20. ------------------------------
  21.  
  22. From: BRECHER (7507)
  23. Subject: Interleave/DiskBench
  24. Date: 22-APR 10:19 MUGS Online
  25.  
  26. Which Interleave is best?
  27. -------------------------
  28.  
  29. Recently John Bass pointed out that 1:1 interleaving is sometimes
  30. disadvantageous due to the frequency of logically-contiguous
  31. single-sector requests.  He estimated that interleaving of
  32. approximately 6:1 would be optimal for handling such requests.  I
  33. tested that estimate by modifying DiskBench to issue 64 single-sector
  34. requests on increasing sector addresses, in place of each prior 32KB
  35. request. I ran this "SSDiskBench", as well as the original DiskBench,
  36. on a MicahDrive at various interleaves; results were as follows (read
  37. and write results were in all cases identical or nearly so, so I show
  38. here only the read results):
  39.  
  40. Interleave        SSDiskBench         DiskBench
  41.    1:1              6801                 507
  42.    2:1              7206                 812
  43.    3:1              7511                1116
  44.    4:1              7518                1523
  45.    5:1              6513                1827
  46.    6:1              2538                2233
  47.    7:1              2538                2537
  48.    8:1              2943                2943
  49.  
  50. These results clearly confirm Bass's "about 6:1" estimate for optimal
  51. handling of consecutive single-sector requests.  However, Bass claimed
  52. that this is also the best system interleave -- i.e., that assuming
  53. that all requests are single-sector is appropriate.  This is not to
  54. say that Bass claims that ALL requests actually are single-sector --
  55. just that such requests are so relatively frequent that the best
  56. interleave is one which accommodates them.
  57.  
  58. I gathered some statistics on the distribution of disk I/O requests by
  59. writing a hook into _Read and _Write which records the size of each
  60. request and the the sector (logical block) distance from the end of
  61. the previous request to the start of the current request.  I invoked
  62. this recorder, and then performed the following activities on a 512K
  63. Mac, 128K ROMs, System 3.2b3, Finder 5.2, big TMON loaded, MicahDrive
  64. HFS volume about 9MB full, starting in Finder with the disk directory
  65. window open:
  66.  
  67. Open folder; double-click MacWrite document; change document, quit
  68. with save; close folder; open folder; double-click MacPaint document;
  69. change document; quit with save; duplicate (Finder copy) 22K document;
  70. close folder; open folder; open MDS Asm; use SFGetFile to select
  71. document (go up, down, down in directory hierarchy); assemble;
  72. transfer directly to Consulair Link 1.5; Link; quit to Finder; close
  73. folder; open folder; double-click Excel worksheet document; change
  74. worksheet; quit with save; close folder.
  75.  
  76. Size of disk read/write requests, 512-byte sectors:
  77.  
  78. Number of sectors       Number of requests      Sectors transferred (%)
  79.           1                     1785                    1785 (49%)
  80.           2                       16                      32
  81.           3                       16                      48
  82.           4                        6                      24
  83.           5                       23                     115
  84.           6                        8                      48
  85.           7                        3                      21
  86.           8                       22                     176
  87.           9                        4                      36
  88.          10                        2                      20
  89.          13                        1                      13
  90.          14                        9                     126
  91.          16                        1                      16
  92.          17                        2                      34
  93.          18                        2                      36
  94.          23                        1                      23
  95.          24                        1                      24
  96.          25                        1                      25
  97.          43                        1                      43
  98.          44                        3                     152
  99.          48                        1                      48
  100.          49                        1                      49
  101.          61                        1                      61
  102.          63                        4                     252 ( 7%)
  103.          70                        1                      70 ( 2%)
  104.         374 (Excel PCOD resource)  1                     374 (10%)
  105.                                 ----                    ----
  106.                                 1916 total requests     3651 total sectors
  107.  
  108. Sector distance between chronologically consecutive requests (end of
  109. request N-1 to start of request N; 0 means requests are physically
  110. contiguous):
  111.  
  112. Sector distance          Number of requests
  113.         0                       1060
  114.         1                         20
  115.         2                         13
  116.         3                         14
  117.         4                          5
  118.         5                          8
  119. negative or 6 or more            796
  120.                                 ----
  121.                                 1916 total requests
  122.  
  123. Clearly, consecutive single-sector requests predominate.  However,
  124. this is not sufficient to establish the best interleave.  Consider:
  125. for each consecutive single-sector request in a series, a 1:1 drive
  126. takes about one disk revolution, and a 6:1 drive takes about one-third
  127. of a revolution.  For a single 374-sector request, a 6:1 drive takes
  128. about 124 revolutions; a 1:1 drive, about 21 revolutions.  Hence, in
  129. terms of relative advantage, a single 374-sector request balances a
  130. series of about 154 single-sector requests.  These calculations are
  131. back-of-the envelope; the exact magnitude of the results is not the
  132. issue.  The point is that a few big requests at 1:1 interleave can
  133. offset the advantage of many contiguous single-sector requests at 6:1
  134. interleave.
  135.  
  136. So, whether 1:1 or 6:1/7:1 is better from the standpoint of getting the user
  137. home quicker depends on the user's job mix.  To find out what kind of
  138. activities favor interleaving or lack thereof, I wrote another _Read/_Write
  139. hook.  Here, if the request started in the same cylinder in which the previous
  140. request ended, and if there were five or fewer intervening logical sectors,
  141. the relative advantage of 6:1 vs. 1:1 interleave was calculated and
  142. cumulated.  And, the relative disadvantage of 6:1 in terms of sectors passing
  143. under the heads during actual data transfer was calculated and cumulated.
  144. The following is a general summary of the net winner by activity:
  145.  
  146. Activity                                                Winner
  147.  
  148. All launches--
  149. (MacWrite, MacPaint, Excel, MDS Asm, Consulair Link)      1:1
  150. Finder copies                                             1:1
  151. MDS Assembly                                              1:1
  152. Consulair Link                                            6:1
  153. Opening/Saving Write/Paint documents                      6:1
  154.  
  155. I presume that any backup program will do multi-sector requests, and therefore
  156. would run faster with 1:1.
  157.  
  158. In general, if the user does a lot of document opening/saving, then
  159. the 6:1 or so interleave is better.  If he does a lot of
  160. launching/quitting (launching Finder), file copying, etc., then 1:1 is
  161. better.  It should be noted, though, that with a "normal" mix of
  162. activities the perceived difference will not be great.  I've been
  163. running the MicahDrive at 7:1 for a couple of days (previously 1:1);
  164. the perceived throughput is not noticeably different. I clocked a few
  165. different activities at both interleaves, and the difference was
  166. typically a few percent one way or the other.
  167.  
  168.  
  169. DiskBench
  170. ---------
  171.  
  172. DiskBench has been aptly criticized for not being a realistic measure
  173. of normal user I/O patterns.  (To which I have previously responded
  174. that it was a quick hack that was never advertised as realistic.)  In
  175. light of the foregoing data, I'd like to make clear (especially to
  176. non-technical readers) that the DiskBench data transfer tests measure
  177. only performance on large multi-sector I/O requests, and that in "real
  178. life" such requests comprise only about 20% or so of the total data
  179. that goes back and forth between the Mac and the disk.  Hence,
  180. DiskBench data transfer results are not necessarily representative of
  181. relative performance in real use.  FOR WHAT THEY ARE WORTH, here is
  182. the last set of results I will publish:
  183.  
  184. The read data transfer test consists of 100 reads of 32KB from the beginning of
  185. the volume; the write data transfer test consists of 100 writes of 32KB to the
  186. beginning of the volume.  The access time test consists of 40 repetitions of:
  187. read 512 bytes from an offset of 1MB into the volume; read 512 bytes from the
  188. beginning of the volume.
  189.  
  190. Results on only one specimen should be regarded as provisional.
  191.  
  192.                                Data transfer  Access   Tester
  193.                               ---- time ----   time
  194.                               Reads   Writes
  195.  
  196.  400K floppy drive, Apple      8756    11816    N/A    S. Brecher
  197.  400K floppy drive, Apple      N/A     12392    N/A    G. Frascadore
  198.  400K floppy drive, Apple      8796    11629    N/A    C. Nicolais
  199.  400K floppy drive, Apple      N/A     12351    N/A    R. Perez
  200.  800K floppy drive, SS, Apple  8758    11407    N/A    S. Brecher
  201.  800K floppy drive, SS, Apple  6842    11462    N/A    D. Etchells
  202.  800K floppy drive, SS, Apple  7544    11550    N/A    C. Nicolais
  203.  800K floppy drive, DS, Apple  7701    10874    N/A    S. Brecher
  204.  800K floppy drive, DS, Apple  7523    10913    N/A    N. Fong
  205.  800K floppy drive, DS, Apple  7737    10897    N/A    C. Nicolais
  206.  AST 4000, AST Research        1495     1533    159    KATZ, Mousehole BBS
  207.  AST 4000, AST Research        1495     1549    160    KATZ (second drive)
  208.  AST 4000, AST Research        1495     1537    169    KATZ (third drive)
  209.  Bernoulli Box, 5MB, Iomega    4174    24437     66    JCOM, Mousehole BBS
  210.  Corvus 45MB                  10080    16632    323    R. Scorer, Corvus
  211.  Corvus 126MB                  9822    16438    240    R. Scorer, Corvus
  212.  DASCH external RAMdisk        2482     2797    N/A    J. Eugenides
  213.  DataFrame 20, SuperMac        1319     2233    488    J. Bean
  214.  DataFrame 20, SuperMac        1344     2233    487    S. Brecher
  215.  DataFrame 20, SuperMac        1319     2233    446    L. Custer
  216.  Hard Disk 20, Apple           7029     7938    368    M. Chally
  217.  Hard Disk 20, Apple           7074     7871    368    N. Fong
  218.  Hard Disk 20, Apple           7054     7944    370    KATZ, Mousehole BBS
  219.  Hard Disk 20, Apple           9714     9718    263    R. Scorer
  220.  Hard Disk 20, Apple           9883     6948    368    R. Wiggins
  221.  HD-20, MDIdeas                1726     3260    446    S. Brecher
  222.  HD-30, MDIdeas                1749     3576    406    S. Brecher
  223.  HyperDrive 10, obsolete model 1591     1616    401    S. Brecher
  224.  HyperDrive 10, GCC (V2R1)     8000(?)  7982(?) 648(?) H. Conover
  225.  HyperDrive 10, GCC (V2R1)     7985(?)  6892(?) 485    R. Perez
  226.  HyperDrive 20, GCC (V2R1)     1703     1506    640(?) R. Ford
  227.  HyperDrive 20, GCC            1704     1506    241(?) W. Luckie
  228.  LoDOWN 10MB                   1504     1503    321    S. Brecher
  229.  LoDOWN 20MB                   1503     1504    242    M. Bohlig
  230.  MacBottom 10, v2.1, PCPC      4159     6897    686    M. O'Connor
  231.  MacBottom 10, v2.6, PCPC      4159     6897    608    S. Aronian
  232.  MacBottom 20, v2.1, PCPC      4110     6817    601    L. Becker
  233.  MacBottom 20, v2.6a, PCPC     4161     6901    657    S. Fischbach
  234.  MacDrive, Tecmar              6102     6704    440    L. Custer
  235.  MacDrive, 10MB Fixed, Tecmar  6017     6719    401    C. Nicolais
  236.  Macintosh XL, 10MB            3489     3589    370    MACLAIRD, Delphi
  237.  MagNet 20, Mirror Tech.      14539    14538    322    D. Etchells
  238.  MicahDrive 20 AT, Micah        508      507    488    S. Brecher
  239.  MicahDrive 20 AT, Micah        508      507    527    S. Harris
  240.  OverDrive 60/16MHz CPU, Levco 1102     1102    121    S. Brecher
  241.  Profile, 5MB, Lisa 2/5, Apple 4107     4407    721    MACLAIRD, Delphi
  242.  Quark QC-20                   6476     6488     82(?) R. Thacker
  243.  QuickDrive external RAMdisk   2411     2479     52    R. Bates
  244.  QuickDrive external RAMdisk   2466     2535     33    J. Eugenides
  245.  RamStart RAMdisk/Beck-Tech RAM 186      186    N/A    G. Frascadore
  246.  Warp 20, Warp Nine Engin'rng 14537    14537    321    G. Frascadore
  247.